The marketing of products and services online over the internet through advertisements is big business. Advertising over the internet seeks to reach individuals within a target set having very specific demographics (e.g. male, age 40-48, graduate of Stanford, living in California or New York, etc). This targeting of very specific demographics is in significant contrast to print and television advertisement that is generally capable only to reach an audience within some broad, general demographics (e.g. living in the vicinity of Los Angeles, or living in the vicinity of New York City, etc). The single appearance of an advertisement on a web page is known as an online advertisement impression. Each time a web page is requested by a user via the internet represents a placement opportunity to display an advertisement in some portion of the web page to the individual internet user.
Some advertisers enter into contracts with an ad serving company (or publisher) to receive placements of their advertisements or messages in impressions. An advertiser may specify desired targeting criteria. For example, an advertiser may enter into a guaranteed delivery contract with the ad serving company, and the ad serving company may agree to place 2,000,000 impressions over thirty days for US$15,000. In some cases, an advertiser will choose to enter into a non-guaranteed contract with the ad server company and only pay for those impressions actually made by the ad serving company on their behalf. Of course, in modern internet advertising systems, the competition among advertisers for placement of impressions under non-guaranteed contracts is often resolved by an auction, and the winning bidder's advertisements are shown in the available spaces of the impression.
Online advertising and marketing campaigns often rely, at least partially, on a process where any number of advertisers book contracts with the intention to reach users who satisfy some particular targeting criteria (e.g. male, age 40-48, graduate of Stanford, living in California or New York, etc). Matching a contract to a user and any placements of advertisements based on the matching can be thought of as a market function, where a user visit is a unit of supply, and a contract is a unit of demand. The market is served by booking demand to supply. The booking of demand to supply applies to contextual advertising (e.g. text and graphical ads that match a page context and user impression) as well as to sponsored search advertising (e.g. ads that match with search engine queries and results). Various degrees of matching may occur when a user's attribute is matched against an advertiser's targeting criteria.
Considering that (1) the actual existence of a web page placement opportunity suited for displaying an advertisement is not known until the user clicks on a link pointing to the subject web page, and (2) that the matching process for selecting advertisements must complete before the web page is actually displayed, it then becomes clear that the process of assembling competing booked contracts, completing the matching, and compositing the web page with the advertiser's ads must start and complete within a matter of fractions of a second. Thus, advertising systems are designed to rapidly match advertisements to impressions. Additionally, in legacy advertising systems, such matching uses predetermined criteria. For example, a legacy system might use an inverted index that has been constructed using predetermined criteria such as GENDER and AGE such that a targeting predicate (e.g. GENDER=“male” AND AGE=“40-48”, etc) can be used with the inverted index to retrieve one or more advertisements for display to an internet user who is, for example, male and age 43.
The exploding popularity and sophistication of the internet has brought to bear easy access for anyone or any entity to publish, consume and aggregate content. Along with an explosion of content, the rate of appearance of advertisements that accompany content (which advertisements also serve to monetize the content) is growing at a similar pace. Internet advertising systems need to support a large and sophisticated ecosystem of participants including publishers, content providers, ad networks, ad agencies, ad aggregators, ad arbitragers, social networking website operators, etc, for targeting specific demographics. Accordingly, new targeting criteria are introduced frequently. Advertisers change (e.g. more narrowly define) their target markets, and the legacy technique for constructing an inverted index using predetermined criteria needs to be improved such that the construction of the inverted index (and other operations) is based on a flexible schema definition having the capability of frequently and dynamically addressing new targeting criteria (e.g. for addressing target markets having new targeting dimensions, new dimension attribute types, and new dimension attribute values).
Thus, techniques are needed for booking an advertisement to an impression using dynamically-created target market criteria (e.g. using a dynamically-updated target dictionary extensible to new attribute type declarations and the number of values against each attribute type). Also, the tools used by advertisers can be advantageously improved by implementing a generic approach (e.g. using a dynamically-updated target dictionary) that allows introducing new attribute types and values without explicit predetermination and without undue engineering effort, while keeping the advertising system scalable.
Other automated features and advantages of the present invention will be apparent from the accompanying drawings and from the detailed description that follows below.